Совершенный алгоритм. Графовые алгоритмы и структуры данных

Вторая книга (Графовые алгоритмы и структуры данных) из серии Совершенный алгоритм Тима Рафгардена является продолжением, по сути, единого цикла лекций. Автор не только сохранил стиль первой книги, но и часто ссылается на материал, который был в ней преподнесён. Стиль обоих книг я считаю очень удачным. А именно, детальное и всестороннее изложение небольшого количества тем доступным языком.

Снова, это не каталог решений, а именно лекции. Поэтому автор далеко не сразу дает готовые алгоритмы. По сути, автор рассказывает как к этим алгоритмам можно прийти. Либо пробуя разные варианты, либо постепенно улучшая решения. Так например, поиск кратчайшего пути:

  1. Начинается с обхода в ширину.

  2. Вводится модификация со взятием кратчайшего ребра при обходе.

  3. Показывается, почему это не работает на отрицательных длинах, и доказывается, почему работает на неотрицательных.

  4. Приводится анализ временной сложности.

  5. Ставится задача быстрого поиска рёбер с минимальной длиной.

  6. Вводится понятие кучи,

Читать далее